<html>
    <head>
        <title>禁用/启用实体类的审计日志</title>
    </head>
    <body>
        <script>
            /*
                        八、禁用/启用实体的统计日志

                                   在一下情况下，在实体变更实际日志记录中忽略实体：

                                                ①、如果将实体类型添加到 AbpAuditingOptions.IgnoredTypes  它将被设计日志系统完全忽略。

                                                ②、如果对象不是实体 (不是直接或固有地实现 IEntity接口 -----所有实体默认实现此接口)

                                                ③、如果实体类型不公开

                                        否则，你可以使用 [Audited] 特性，为实体启用实体更改设计日志记录：
                                                [Audited]
                                                public class MyEntity : Entity<Guid>
                                                {
                                                    //...
                                                }  
                                                    
                                        或者禁用它的更改设计日志：
                                                [DisableAuditing]
                                                public class MyEntity : Entity<Guid>
                                                {
                                                    //...
                                                }

                                        只有当实体被 AbpAuditingOptions.EntityHistorySelectors选中时，才需要禁用审计日志记录。

                                        你可以进仅禁用审核实体的某些属性，以详细控制审计日志记录：

                                                [Audited]
                                                public class MyUser : Entity<Guid>
                                                {
                                                    public string Name { get; set; }
                                                        
                                                    public string Email { get; set; }

                                                    [DisableAuditing] // 针对属性禁用审计日志
                                                    public string Password { get; set; }
                                                }
                                        核日志系统将保存MyUser实体的更改，同时忽略Password属性，出于安全目的保存可能很危险。

                                        在某些情况下，你可能希望保存一些属性，单忽略所有其他属性。
                                        为所有其他属性编写 [DisableAuditing] 会很乏味。在这种情况下，仅对所需属性使用 [Audited] 并使用 [DisableAuditing] 属性标记实体：

                                                [DisableAuditing]
                                                public class MyUser : Entity<Guid>
                                                {
                                                    [Audited] //Only log the Name change
                                                    public string Name { get; set; }

                                                    public string Email { get; set; }

                                                    public string Password { get; set; }
                                                }
                                                    
                    */
        </script>
    </body>
</html>